package com.ailanyin.modules.system.service;

import com.ailanyin.common.base.result.AjaxResult;
import com.ailanyin.modules.system.domain.vo.LoginBodyVo;

/**
 * 登录
 *
 * @author ailanyin
 * @version 1.0
 * @since 2022/9/19 0019 下午 19:58
 */
public interface ISysLoginService {

    /**
     * 登录接口
     *
     * @param username 账号
     * @param password 密码
     * @param code     验证码
     * @param uuid     验证码的随机码
     * @return token
     */
    AjaxResult login(String username, String password, String code, String uuid);

    /**
     * 生成图片验证码
     *
     * @return uuid + base64
     */
    AjaxResult getCaptchaImage();

    /**
     * 用户注册
     *
     * @param register register
     */
    void register(LoginBodyVo register);

    /**
     * 获取登录用户的基本信息/角色/权限
     *
     * @return roles + perms + user
     */
    AjaxResult getInfo();
}
